package com.baiduspring.service.user;

import com.baiduspring.vo.PrivateLetteVO;

import java.util.List;
import java.util.Optional;

/**
 * 私信接口定义类
 *
 * @author xiongyan
 */
public interface PrivateLetterService {
    /**
     * 发送私信
     *
     * @param vo 参数
     */
    void create(PrivateLetteVO vo);

    /**
     * 根据账号和查看状态查询私信总条数
     *
     * @param account 账号
     * @param show    状态
     * @return 返回总条数
     */
    Integer getCount(Long account, Integer show);

    /**
     * 获取收件人所有的私信
     * 按照发送时间倒叙、show状态正序
     *
     * @param account 收件人账号
     * @return 私信数据
     */
    Optional<List<PrivateLetteVO>> getPrivateLetterLishByAddressee(Long account);

    /**
     * 根据私信主键ID，更新该条私信的查看状态是：已查看
     *
     * @param id 主键ID
     */
    void updateToAlreadyShow(Long id);
}
